const { app, BrowserWindow, screen, ipcMain } = require('electron');
const path = require('path')

const createWindow = () => {
  const win = new BrowserWindow({
    width: screen.getPrimaryDisplay().workAreaSize.width,
    height: screen.getPrimaryDisplay().workAreaSize.height,
    autoHideMenuBar: true,
    frame: false,
    fullscreen:true,
    webPreferences: {
      // 以下2向必须都有，才能在打包时正确识别require
      nodeIntegration: true,
      contextIsolation: false,
      devTools:false,
      //渲染进程是否启用remote模块
      enableRemoteModule: true,//在渲染进程中使用主进程中的模块方法时，可以使用Electron Remote解决在渲染和主进程间的通讯,这么看 remote 模块可以说是非常好用啦，渲染进程就不用显式通过 ipcRenderer / ipcMain 与主进程通信。除此之外，可以通过 remote.getGlobal 获取主进程中 的全局变量, 通过 remote.process 拿到主进程的 process 对象信息
      // preload: path.join(__dirname,'preload.js')
    }
  })
  win.loadFile('./pages/index.html')
  ipcMain.on('minimize', () => {
    win.minimize()
  })
  ipcMain.on('close', () => {
    if (process.platform != 'darwin') {
      app.quit()
    }
  })
}
app.on('ready', createWindow)
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})
app.on('activate', () => {
  // 在 macOS 系统内, 如果没有已开启的应用窗口
  // 点击托盘图标时通常会重新创建一个新窗口
  if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
